USE [GD1C2012]
GO
--SP Obtencion de reloj por Id
CREATE PROCEDURE TEQUILASO.sp_obtenerRelojPorId
	@Id int
AS
BEGIN
	select * from TEQUILASO.RELOJ as A
	where A.Id = @Id		
END
GO

GO


GO
--SP insertar RELOJ
CREATE PROCEDURE TEQUILASO.sp_altaReloj
	@Nro_Serie varchar(18),
	@Modelo varchar(255),
	@Id_Marca int,
	@Fecha_Verificacion datetime,
	@Habilitado bit  
 AS
BEGIN	
	insert into TEQUILASO.RELOJ (Nro_Serie, Modelo, Id_Marca, Fecha_Verificacion, Habilitado)
			values (@Nro_Serie, @Modelo, @Id_Marca, @Fecha_Verificacion, @Habilitado) 
	Declare @Id int
	Select	@Id = scope_identity()		
	Execute TEQUILASO.sp_obtenerRelojPorId @Id
END

GO
--SP Modificar y bajaLogica MANDAR HABILITADO EN 0
CREATE  PROCEDURE TEQUILASO.sp_modificarReloj
	@Nro_Serie varchar(18),
	@Modelo varchar(255),
	@Id_Marca int,
	@Fecha_Verificacion datetime,
	@Habilitado bit  
AS
	DECLARE @Id_Reloj INT
	DECLARE @Id_Automovil int
BEGIN
	select @Id_Reloj = id from tequilaso.Reloj where Nro_serie = @Nro_Serie ;
	IF(@Habilitado IS NOT NULL AND @Habilitado != 0 )
	BEGIN
		UPDATE TEQUILASO.RELOJ set	
			Nro_Serie = @Nro_Serie,
			Modelo = @Modelo,
			Id_Marca = @Id_Marca,
			Fecha_Verificacion = @Fecha_Verificacion,
			Habilitado = @Habilitado					
		where Id = @Id_Reloj;
	END
	ELSE BEGIN
		UPDATE TEQUILASO.RELOJ set	Habilitado = @Habilitado where Id = @Id_Reloj;
		SET @Id_Automovil = (SELECT id FROM TEQUILASO.AUTOMOVIL WHERE Id_Reloj = @Id_Reloj );
		IF(@Id_Automovil IS NOT NULL)
		begin
			SELECT * FROM TEQUILASO.AUTOMOVIL WHERE Id_Reloj = @Id_Reloj
		end	
	END
END
GO


GO
-- SP BAJAFISICA
CREATE PROCEDURE TEQUILASO.sp_bajaRelojFisica
	@Id varchar(255)
AS
BEGIN
	delete from TEQUILASO.RELOJ where CAST(Id as varchar(255)) = @Id
END
GO


GO
--SP Obtencion de reloj por Id
CREATE PROCEDURE TEQUILASO.sp_listarReloj
AS
BEGIN
	select R.Nro_Serie NUMEROSERIE, R.Modelo MODELO, MR.DESCRIPCION DESCRIPCION, R.Fecha_Verificacion VERIFICACION, R.Habilitado HABILITADO from TEQUILASO.RELOJ AS R
	INNER JOIN TEQUILASO.MARCA_RELOJ MR
	ON R.ID_MARCA = MR.ID	
END
GO

GO
--SP Busqueda de reloj
CREATE PROCEDURE TEQUILASO.sp_buscarReloj
	@Nro_Serie varchar(18),
	@Modelo varchar(255),
	@Id_Marca int

AS
BEGIN
	select R.Nro_Serie NUMEROSERIE, R.Modelo MODELO, MR.DESCRIPCION DESCRIPCION, R.Fecha_Verificacion VERIFICACION, R.Habilitado HABILITADO from TEQUILASO.RELOJ AS R
	INNER JOIN TEQUILASO.MARCA_RELOJ MR
	ON R.ID_MARCA = MR.ID
	where 
		R.Id_Marca = isNull(@Id_Marca, R.Id_Marca)
	and
		R.Nro_Serie like '%' + cast(isnull(@Nro_Serie, R.Nro_Serie) as varchar(255)) + '%'
	and
		R.Modelo like '%' + cast(isnull(@Modelo, R.Modelo) as varchar(18)) + '%';
END
GO

